package com.lxy.demo.servlet;

import javax.servlet.*;
import java.io.IOException;

public class Myservlet1 implements Servlet {

    String encoding = null;

    //初始化的方法 - 该方法只执行一次
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        //通过servletConfig对象，获取初始化参数
        encoding = servletConfig.getInitParameter("encoding");
        System.out.println("Myservlet..init初始化方法调用。。。");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    //表示servlet接受请求，处理请求，返回响应
    //该方法会在前端访问到servlet之后，自动调用

    //servletRequest ：表示请求时的对象
    //servletResponse : 表示响应时的对象

    //使用请求的对象来接受前端传递的数据
    //使用响应的对象返回结果到前端页面

    //当tomcat启动时，tomcat引擎会自动帮我们创建请求和响应对象
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        //设置请求对象和响应对象的统一编码，解决乱码问题 - post请求
        servletRequest.setCharacterEncoding(encoding);
        servletResponse.setContentType("text/html;charset=utf-8");
        //1.接收请求数据
        //请求对象，通过getParameter方法，通过name属性来获取value的值
        String username = servletRequest.getParameter("username");
        String userpwd = servletRequest.getParameter("password");
        //2.处理请求数据 - 调用业务层
        //模拟正确数据
        String name = "lxy";
        String pwd = "123";
        if (username != null && username.equals(name) &&
            userpwd != null && userpwd.equals(pwd)){
            //给前端响应结果
            servletResponse.getWriter().write("<script>window.open('https://baidu.com')</script>");
        }else {
            //给前端响应结果
            servletResponse.getWriter().write("<script>alert('登录失败!')</script>");
        }

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    //servlet销毁之前执行的方法
    @Override
    public void destroy() {
        System.out.println("老子被销毁了");
    }
}
